//!
/************************************************************************************************************
 * @file RBRBSReader.cpp
 ************************************************************************************************************/

/************************************************************************************************************
 * Precompiled Header
 ************************************************************************************************************/
#include "RBMainPCH.h"

/************************************************************************************************************
 * Includes
 ************************************************************************************************************/

#include "RBRBSReader.h"
#include "RBDefaultStream.h"

/************************************************************************************************************
 * Defines
 ************************************************************************************************************/

/************************************************************************************************************
 * Implementation
 ************************************************************************************************************/

/************************************************************************************************************
 * Constructor
 ************************************************************************************************************/
RBRBSReader::RBRBSReader()
{
}

/************************************************************************************************************
 * Destructor
 ************************************************************************************************************/
RBRBSReader::~RBRBSReader()
{
}


/***********************************************************************************************************
 * 
 ***********************************************************************************************************/
RBStream* RBRBSReader::Load(const RBString& strFilename)
{
    if (!IsCompatibleFormat(strFilename))
    {
        return false;
    }

    RBDefaultStream* pStream = new RBDefaultStream();

    pStream->Open(strFilename, RBFile::FOM_READ);
    pStream->Serialize(RBStream::SM_READ);
    pStream->Close();

    return pStream;
}

/***********************************************************************************************************
 * 
 ***********************************************************************************************************/
bool RBRBSReader::IsCompatibleFormat(const RBString& strFilename)
{
    int32 iExtRBS = strFilename.rfind(".rbs");
    return (iExtRBS == (int32)strFilename.size()-4);
}
/************************************************************************************************************/
